針對國中以下的學習者,玩學運算科技開發了一套名叫「WiFiBoy Python Playground(https://github.com/WiFiBoy/MicroPythonPlayground)」的開發工具,您可以在 Github 上找到該專案,專案程式是開源的,您也可以選擇自已編譯執行環境,或是對其功能進行修改,再貢獻給社群。
就像是小學常用的 Scratch、MakeCode 等教學環境,WiFiBoy Python Playgraound 支援積木式開發與 Python 程式編輯的環境。教師可按照學生的程度,選擇適合的學習方式,進行教學。
下載專案,解壓縮後,請找到「ptp.exe」來執行程式。Linux 與樹梅派使用者,請改用 Chrome 應用程式來執行。我們會在附錄中進行說明。
開啟程式後,您會看到這樣的執行畫面:
請將玩學機接上電腦,選擇 Python Playground 右上角的 USB 連接選項,連線玩學機。
此時會跳出選擇連接埠的視窗,這畫面會根據您電腦的實際情況,列出所有可用的連接埠。以作者電腦的情況,我的玩學機使用的連接埠為 COM6,請選擇「COM6」,進行連線。
連線成功後,您會看到一些玩學機輸出的訊息,您可以簡單輸入像是「2 + 2」的指令,應該就會得到輸出 4 的結果。
如果您的程式執行當機,或是您想讓機器重啟,請按玩學機左上角的 Reset 按鈕,您應該會在開發環境的文字視窗畫面看到底下的訊息。
積木式程式開發環境是提供給年紀較小的孩子使用的一種程式設計學習環境。透過各種功能分類底下的各種積木,經由學習者的巧思,排列組合後,完成解決問題的程式。
我們先來用一個最簡單的變更 LCD 畫面顏色的程式,來說明如何使用積木來編寫程式。點選「BLOCKS」按鈕,切換成積木開發環境。
從「顯示」類積木,選擇「清除螢幕」與「顏色」兩個積木,並將「顏色」積木放入「清除螢幕」積木中。然後將顏色積木的色彩,選擇為「綠色」。然後點選「RUN」執行程式,此時觀察您的玩學機畫面,應該會發現畫面有變化。
此時您參考右邊的終端機畫面,您可以觀察到有程式碼產生,「wb.cls((0xe637))」。請抄下這一小段指令,等一下會用到。
切換「CODE」按鈕,會進入到Python 程式碼開發環境,輸入「wb.cls(0xe637)」,點選「RUN」執行程式,您會發現玩學機也會清除螢幕後,將畫面改成綠色。
如果您需輸入一大段程式,如果用終端機方式輸入,一但輸入錯誤,要修改就會很困難。用程式碼開發環境,如同使用文書編輯器編寫程式,您可以隨時輸入程式、存檔並隨時開檔進行編輯修正。程式寫完後,存成 abc.py 等檔名,就可以分享給其他人進行測試。
我們來介紹如何修改玩學機預設開機執行程式「boot.py」,讓你的玩學機可以開機後就執行背景畫面變成綠色的程式。
開啟文件系統,選擇boot.py檔案後,點選「編輯」按鈕。
您可以看到 boot.py 裡面的程式碼。前面有註解說明,告訴您此檔案裡面編寫的程式,每次重新開機都會執行一次。我們在檔案的最後加上「wb.cls(0xe637)」,讓玩學機開機後清除螢幕畫面,變成綠色背景。程式寫完後,請記得存檔,並點選 「FLASH」按鈕燒錄到玩學機裡。由於只有 boot.py 這個檔案,micropython 系統才會每次開機執行,我們要指定文件名為「boot.py」,複寫進原本的檔案。
按下 Reset 按鈕後,玩學機的畫面是不是變成綠色的?
為了避免任意修改,造成開機看不到預設畫面,請您再次開啟 boot.py 檔案,刪掉您輸入的那行指令。存檔後,燒錄回玩學機。看是否可以讓原本的開機畫面在一次出現?
能完成上面所有的範例,您對於玩學機的軟體開發環境,就算是非常熟悉囉。
年紀比較大的高中生與大學生,往往需要處理更複雜的問題。我們還是可以繼續使用 WiFiBoy Python Playground 環境來開發程式。但有些時候需要跟其他的套件進行合作,此時,就需要使用更便利的開發環境來進行程式開發。
我們會建議學生先使用 Thonny 這套開源的Python 程式開發工具。原因有幾個:
總之,這是一套小而巧的 Python 學習環境。
接著,我們就來看看如何用Thonny 來開發玩學機的程式。依舊還是使用清除螢幕這個範例來說明:
如同先前我們已經很熟練地設定直譯器選項,我們要來設定「檢視」,開啟幾個常用的功能,讓開發環境更好用。請勾選「檔案」,這樣才能開啟檔案管理器。
此刻您會發現 Thonny 的程式畫面會變成這個樣子:
左上的部份是您本機電腦的工作目錄,這邊的例子是開啟 D 磁碟底下的 Test 目錄。左下視窗則是連線到玩學機的檔案系統中,目前玩學機的檔案系統只有「boot.py」這個檔案。
右上視窗則是我們開啟玩學機的 boot.py 檔案,進行編輯。右下的互動環境,則是提供給我們一個可以直接輸入指令,查看玩學機反應的互動對話環境。
第二項好用的功能是 Thonny 有套件管理功能,點選「工具/管理套件」。我們後續的課程會使用溫度感測器 DHT11 來偵測溫溼度數據,因此我們在搜尋輸入欄輸入「dht11」。您會發現有「PyPI」與「micropython-lib」兩大類的搜尋結果,我們要使用給 micropython 用的函示庫,因此點選「dht@micropython-lib」。點選安裝,即會安裝套件。
我們會在往後的課程中,介紹玩學機怎麼引用外部函式庫到您的專案中。
近年來,程式設計師喜歡使用 Microsoft VisualStudio Code 這個文字編輯器。除了該軟體支援各個常見的作業系統,像是Windows 、MacOS與 Linux 作業系統外,開放原始碼功能,讓各個軟體社群的程式開發者,願意在該平台上開發各種應用外掛程式。如果您需要跟更多的程式語言、網路應用服務做整合,那就更推薦您使用 VSCode 來進行物聯網程式開發。不過本課程仍以 WiFiBoy Python Playground 與 Thonny 環境為主要的教學軟體。
目前 VSCode 上有關 Micropython 的外掛模組還不算多,相信不久的將來會有更多使用者投入這個領域。如果您需要找相關的外掛程式,可以輸入關鍵字「micropython」進行搜索。
今日就談到這裡,明天我們再繼續從「認識螢幕座標與顏色編碼」來學習 WiFiBoy Python 玩學機。